//搜索程序
/***搜索程序代码编写说明：
 1.调用map的函数读取障碍物、起止点等。
 2. 每次调用void step()进行一次单步搜索！
 将搜索过程存入二维（动态）数组node，
    方法：
node1=new node;
......
map->setNode(Point);
 *
 3. 搜索成功后将路径放入finish_path(QList<Point>);
 *
 * */
#ifndef SEARCH_H
#define SEARCH_H

#include <QObject>
#include"data.h"

class Search : public QObject
{
    Q_OBJECT
public:
    Search(Map*m):map(m){};

    //处理

    //设置地图上的障碍物、起始点和终点
    //void setMap(Map*map);
    //单步搜索
    void step();
    //终止搜索
    void stop();

signals:
    //搜索完了
    void finish(bool);//搜索成功或失败
    void finish_path(QList<Point>);//路径
    //用法
//    QList<Point> path;
//    path<<point1<<point2<<.....;
//    emit finish_path(path);
private:
    Map*map;
};

#endif // SEARCH_H
